import 'package:enjoy_three/utils/eventbus.dart';
import 'package:enjoy_three/utils/http.dart';
import 'package:enjoy_three/utils/toast.dart';
import 'package:enjoy_three/utils/token.dart';
import 'package:event_bus/event_bus.dart';
import 'package:flutter/material.dart';

class MinePage extends StatefulWidget {
   MinePage({super.key,required this.currentIndex});
   int currentIndex;
 Map userInfo = {'avatar': '', 'nickName': '', 'id': ''};
   
  @override
  State<MinePage> createState() => _MinePageState();
}



class _MinePageState extends State<MinePage> {
  //获取用户信息
   Map userInfo = {'avatar': '', 'nickName': '', 'id': ''};
    void getProfile() async {
    var res= await http.get('/userInfo');
    if(res['code'] != 10000) return ToastUtil.showInfo('获取数据识别');
    setState(() {
      userInfo= res['data'];
      // print(widget.userInfo);
    });
    }


    // 获取用户信息
    @override
    void didUpdateWidget( covariant MinePage oldWidget){
      super.didUpdateWidget(oldWidget);
      if(widget.currentIndex ==1){
        getProfile();
      }
    }
    //刷新获取token
    @override
      void initState() {
        super.initState();
       eventBus.on<refreshMine>().listen((e){
        getProfile();
       });

           //返回页面的时候刷新

           eventBus.on<backMine>().listen((e){
            getProfile();
           });
    }

    



  // 菜单数据
  final List menuList = [
    {
      "title": "我的房屋",
      "icon": "assets/images/house_profile_icon@2x.png",
    },
    {
      "title": "我的报修",
      "icon": "assets/images/repair_profile_icon@2x.png",
    },
    {
      "title": "访客记录",
      "icon": "assets/images/visitor_profile_icon@2x.png",
    }
  ];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: const Color.fromARGB(200, 85, 145, 175),
      appBar: AppBar(
        title: const Text('我的', style: TextStyle(color: Colors.white)),
        backgroundColor: Colors.transparent,
        centerTitle: true,
      ),
      body: ListView(
        children: [
          // 个人信息
          Container(
              padding: const EdgeInsets.all(10),
              child: GestureDetector(
                onTap: () {
                  // Navigator.pushNamed(context, '/profile');
                },
                child: Row(children: [
                    Row(children: [
                      ClipRRect(
                          borderRadius: BorderRadius.circular(50.0),
                          child: userInfo['avatar'] != ''? Image.network(userInfo['avatar'],width: 50,height: 50,
                          ):Image.asset('assets/images/avatar_1.jpg',
                              width: 50, height: 50)
                              ),
                      const SizedBox(width: 10),
                       Text(userInfo['nickName'] ??'用户名',
                          style: TextStyle(fontSize: 16, color: Colors.white)
                          )
                    ]),
                    const Spacer(),
                     GestureDetector(
                      onTap: () {
                        //传递信息过去
                        Navigator.pushNamed(context, '/profile',arguments: userInfo);
                      },
                      child: Row(children: [
                      Text(
                        '去完善信息',
                        style: TextStyle(color: Colors.white),
                      ),
                      Icon(
                        Icons.arrow_forward_ios,
                        color: Colors.white,
                        size: 13,
                      )
                    ]),
                     )
                  ])
              )
          ),
          Container(
              padding: const EdgeInsets.all(15),
              margin: const EdgeInsets.only(
                  top: 20, left: 10, right: 10, bottom: 20),
              decoration: BoxDecoration(
                  color: Colors.white, borderRadius: BorderRadius.circular(10)),
              child: Column(
                  children: menuList.map((item) {
                return SizedBox(
                    height: 50,
                    child: Row(children: [
                      Row(
                        children: [
                          Image.asset(
                            item['icon'],
                            width: 20,
                            height: 20,
                          ),
                          const SizedBox(
                            width: 10,
                          ),
                          Text(
                            item['title'],
                            style: const TextStyle(fontSize: 16),
                          )
                        ],
                      ),
                      const Spacer(),
                      const Icon(
                        Icons.arrow_forward_ios,
                        size: 12,
                        color: Colors.grey,
                      )
                    ]));
              }).toList())),
              ElevatedButton(onPressed: (){
                TokenManager().saveToken('99');
              }, child: Text('添加token')),
              ElevatedButton(onPressed: (){
                TokenManager().removeToken();
              }, child: Text('删除token'))
        ],
        
      ),

    );
  }
}